package net.melon.agency.inst.ssh.service;

import net.esj.basic.pojo.op.Operator;
import net.esj.basic.utils.Pagination;
import net.melon.agency.pojo.Agency;
import net.melon.agency.pojo.AgencyUser;

public interface UserService {

	Pagination<AgencyUser> pageUser(Pagination pagination,Agency agency);
	
	boolean checkAgencyUsername(AgencyUser user);

	AgencyUser saveUser(AgencyUser user,Operator operator,String... groups);
	
	AgencyUser updateUser(AgencyUser agencyUser,Operator operator,String... groups);
	
	AgencyUser getUser(String id,boolean withGroup);
		
	void deleteUser(String userId);
	
	void changeUserState(String id,int state);

	Pagination pageUser(Pagination pagination);

	AgencyUser updateOldUser(AgencyUser agencyUser,Operator operator,String... groups);
}
